package br.edu.fanor.agenda.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import br.edu.fanor.agenda.exception.DaoException;
import br.edu.fanor.agenda.vo.Telefone;
import br.edu.fanor.agenda.vo.TipoTelefone;

public class TelefoneDao extends GenericDao<Telefone> implements IDao<Telefone>{

	@Override
	public void save(Telefone telefone) throws DaoException {
		StringBuilder sql = new StringBuilder();
		sql.append(" insert into telefone (tipo_telefone_id, ");
		sql.append(" operadora_id, contato_id, numero) ");
		sql.append(" values (?,?,?,?) ");
		
		inserir(sql.toString(), telefone.getIdTipoTelefone(), 
				telefone.getIdOperadora(), telefone.getIdContato(),
				telefone.getNumero());
	}

	@Override
	public void update(Telefone entidade) throws DaoException {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void delete(Telefone entidade) throws DaoException {
		// TODO Auto-generated method stub
		
	}

	@Override
	public List<Telefone> findAll() throws DaoException {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Telefone findById(Integer id) throws DaoException {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	protected List<Telefone> trataResultSet(ResultSet rs) throws SQLException {
		
		List<Telefone> telefones = new ArrayList<Telefone>();
		
		while(rs.next()){
			Telefone telefone = new Telefone();
			
			telefone.setId(rs.getInt("telefone_id"));
			telefone.setIdTipoTelefone(rs.getInt("tipo_telefone_id"));
			telefone.setIdOperadora(rs.getInt("operadora_id"));
			telefone.setIdContato(rs.getInt("contato_id"));
			telefone.setNumero(rs.getString("numero"));
			
			telefones.add(telefone);
		}
		
		return telefones;
	}
	

}
